// index.js
const RequestUtil = require('../../utils/request.js');
const { STORAGE_KEY_USER_STEP_DATA_MODEL } = require('../../constant/storage_keys.js');
const { checkLoginAndRedirect, autoLogin, isLoggedIn, setAppResumedFromBackground, setUserOnlineStartTime } = require('../../utils/auth.js');

Page({
  data: {
    bannerList: [{}, {}, {}],
    notice: '北京农商银行74年发展史(1951年农信社成立至今...)',
    step: 0, // 今日步数
    yesterdayStep: 0, // 昨日步数
    consume: 132,
    activeDays: 6,
    target: 8000,
    targetMsg: '下一目标位置距离8000步，请努力加油！',
    personalRace: {
      title: '个人赛',
      desc: '无人数量限制，会员可报名参与'
    },
    teamRace: {
      title: '团队赛',
      desc: '每一队伍参与人数上限为5人，同一部门最多多组织3...'
    },
    punch: {
      title: '74载里程碑打卡',
      desc: '今日登录打卡'
    }
  },

  onLoad() {
    console.log('首页加载');
    // 检查登录状态
    if (!checkLoginAndRedirect('首页')) {
      return;
    }
  },

  onShow() {
    console.log('首页显示 - 小程序重新进入前台');
    
    // 检查登录状态，如果已登录则尝试自动登录
    if (isLoggedIn()) {
      console.log('检测到用户已登录，尝试自动登录验证');
      this.performAutoLogin();
    } else {
      console.log('用户未登录，跳转到登录页面');
      wx.redirectTo({ url: '/pages/login/login' });
    }
  },

  /**
   * 执行自动登录
   */
  performAutoLogin() {
    autoLogin().then((userInfo) => {
      console.log('首页自动登录成功，用户信息:', userInfo);
      // 自动登录成功，更新页面数据
      this.updatePageData();
      // 重置后台状态
      setAppResumedFromBackground(false);
      // 重置用户在线开始时间
      setUserOnlineStartTime(Date.now());
    }).catch((error) => {
      console.error('首页自动登录失败:', error);
      // 自动登录失败，跳转到登录页面
      wx.redirectTo({ url: '/pages/login/login' });
    });
  },

  /**
   * 更新页面数据
   */
  updatePageData() {
    const userStepData = wx.getStorageSync(STORAGE_KEY_USER_STEP_DATA_MODEL) || {};
    console.log("更新页面数据:", JSON.stringify(userStepData));
    this.setData({
      step: userStepData.todayPersonStep || 0,
      weekStep: userStepData.weekPersonStep || 0,
      activeDays: userStepData.activeDays || 0
    });
  }
});
